clearvars -except Globaloption option

%% Saving parameter estimates to automatically update the paper
fID = fopen(['../../results/tables_main/US/post1946/TablePsi_post_us.tex'], 'w');

%% Baseline Results

loaddata_4CIjoint_annual_cy;

% Psi
Psichar = ['a'; 'b'; 'c'; 'd'; 'e'; 'f'; 'g'; 'h'; 'i'; 'j'];
namebegin = '\\newcommand{\\postusPsi';
nameend1 = '}{%4.2f}\n';
nameend2 = '}{%4.0f}\n';

for ii = 1:N

    for jj = 1:N
        fprintf(fID, [namebegin Psichar(ii) Psichar(jj) nameend1], Psi(ii, jj));
    end

end

% maxeig and R2
fprintf(fID, '\\newcommand{\\postusmaxeig}{%4.3f}\n', max(abs(eig(Psi))));
fprintf(fID, '\\newcommand{\\postusRsqra}{%4.1f}\n', 100 * R2(1));
fprintf(fID, '\\newcommand{\\postusRsqrb}{%4.1f}\n', 100 * R2(2));
fprintf(fID, '\\newcommand{\\postusRsqrc}{%4.1f}\n', 100 * R2(3));
fprintf(fID, '\\newcommand{\\postusRsqrd}{%4.1f}\n', 100 * R2(4));
fprintf(fID, '\\newcommand{\\postusRsqre}{%4.1f}\n', 100 * R2(5));
fprintf(fID, '\\newcommand{\\postusRsqrg}{%4.1f}\n', 100 * R2(6));
fprintf(fID, '\\newcommand{\\postusRsqrh}{%4.1f}\n', 100 * R2(7));
fprintf(fID, '\\newcommand{\\postusRsqrj}{%4.1f}\n', 100 * R2(9));

% T stat
Tstatchar = Psichar;
tnamebegin = '\\newcommand{\\postusTstatt';
tnameend1 = '}{%4.2f}\n';
tnameend2 = '}{%4.0f}\n';

for ii = 1:N

    for jj = 1:N
        fprintf(fID, [tnamebegin Tstatchar(ii) Tstatchar(jj) tnameend1], tstat(ii, jj));
    end

end

% Sig
Sigchar = Psichar;
snamebegin = '\\newcommand{\\postusSig';
snameend1 = '}{%4.2f}\n';
snameend2 = '}{%4.0f}\n';

for ii = 1:N

    for jj = 1:N
        fprintf(fID, [snamebegin Sigchar(ii) Sigchar(jj) snameend1], 100 * Sig(ii, jj));
    end

end

% X2 mean
loaddata_4CIjoint_annual;

fprintf(fID, '\\newcommand{\\postusVarMeana}{%4.2f}\n', 100 * pi0);
fprintf(fID, '\\newcommand{\\postusVarMeanb}{%4.2f}\n', 100 * y0nom_1);
fprintf(fID, '\\newcommand{\\postusVarMeanc}{%4.2f}\n', 100 * yspr0);
fprintf(fID, '\\newcommand{\\postusVarMeand}{%4.2f}\n', 100 * x0);
fprintf(fID, '\\newcommand{\\postusVarMeane}{%4.2f}\n', 100 * mean(divgrm));
fprintf(fID, '\\newcommand{\\postusVarMeanf}{%4.2f}\n', mean(exp(pdm)));
fprintf(fID, '\\newcommand{\\postusVarMeanh}{%4.2f}\n', 100 * mean(deltalogtau));
fprintf(fID, '\\newcommand{\\postusVarMeani}{%4.2f}\n', 100 * mean((taxrevgdp)));
fprintf(fID, '\\newcommand{\\postusVarMeanj}{%4.2f}\n', 100 * mean(deltalogg));
fprintf(fID, '\\newcommand{\\postusVarMeank}{%4.2f}\n', 100 * mean((spendgdp)));

load MAT/US_post1946.mat

fprintf(fID, '\\newcommand{\\postuskzerox}{%4.2f}\n', k0x);
fprintf(fID, '\\newcommand{\\postuskonex}{%4.2f}\n', k1x);
fprintf(fID, '\\newcommand{\\postusmeanpvsurplus}{%4.2f}\n', mean(s));
fprintf(fID, '\\newcommand{\\postusmeansurpluszeroz}{%4.2f}\n', mean(upper));
fprintf(fID, '\\newcommand{\\postusmeanpvsurpluspct}{%4.2f}\n', 100 * mean(s));
fprintf(fID, '\\newcommand{\\postusmeansurpluszerozpct}{%4.2f}\n', 100 * mean(upper));
fprintf(fID, '\\newcommand{\\postuspdgdp}{%4.2f}\n', mean(exp(pxbar)));
fprintf(fID, '\\newcommand{\\postusgdpreturn}{%4.2f}\n', mean(gdpreturn));
fprintf(fID, '\\newcommand{\\postusdebtgdp}{%4.2f}\n', nanmean(gdebt));
fprintf(fID, '\\newcommand{\\postusdebtgdppct}{%4.2f}\n', 100 * nanmean(gdebt));
fprintf(fID, '\\newcommand{\\postuspvstodebt}{%4.2f}\n', 100 * nanmean(s) / nanmean(gdebt));
fprintf(fID, '\\newcommand{\\postussurpluspct}{%4.2f}\n', 100 * (mean(taxrevgdp) - mean(spendgdp)));

%% Close File
fclose(fID);
